From: Andrew Cooper Date: Mon, 24 Jun 2013 15:47:05 +0000 (+0100) Subject: tools/libxc: Fix memory leaks in xc_domain_save() X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6698 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=b53f25e319d2d862b889260ccff6c8baea664a21;p=xen.git tools/libxc: Fix memory leaks in xc_domain_save() Introduces outbuf_free() to mirror the currently existing outbuf_init(). Signed-off-by: Andrew Cooper Acked-by: George Dunlap Acked-by: Ian Campbell --- diff --git a/tools/libxc/xc_domain_save.c b/tools/libxc/xc_domain_save.c index ff766265df..fbc15e9488 100644 --- a/tools/libxc/xc_domain_save.c +++ b/tools/libxc/xc_domain_save.c @@ -139,6 +139,13 @@ static int outbuf_init(xc_interface *xch, struct outbuf* ob, size_t size) return 0; } +static int outbuf_free(struct outbuf *ob) +{ + free(ob->buf); + ob->buf = NULL; + return 0; +} + static inline int outbuf_write(xc_interface *xch, struct outbuf* ob, void* buf, size_t len) { @@ -2122,6 +2129,8 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iter free(pfn_batch); free(pfn_err); free(to_fix); + free(hvm_buf); + outbuf_free(&ob_pagebuf); DPRINTF("Save exit of domid %u with rc=%d\n", dom, rc);